home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 015 / hptx501.arc / LPTX.DOC < prev    next >
Text File  |  1986-05-05  |  7KB  |  154 lines

  1. LPTx : Line Printer Output Capture Routine
  2.  
  3. -------------------------------------------------------------
  4.  
  5.  Version 5.00
  6.  
  7.  (C)    Copyright 1986 by Mark DiVecchio, All Rights Reserved
  8.  
  9.  You may use and freely distribute this program for
  10.  non-commercial applications.
  11.  
  12. DISCLAMER : this program tries to perform a function which is not supported by
  13. DOS. It will work sometime and will not work other times. That kind of explains
  14. why you don't see this type of program on the market. I have tested it under DOS
  15. 2.1. Some users have reported trouble when running under DOS 3.x and for other
  16. users it works fine. USE AT YOUR OWN RISK.
  17.  
  18.  Mark C. DiVecchio
  19.  9067 Hillery Drive
  20.  San Diego, CA 92126
  21.  619-566-6810
  22. -------------------------------------------------------------
  23.  
  24.     First - some thanks...  I would like to thank all of the users who have
  25. called me about v3.00 of LPTx which has been floating around for about a year.
  26. The program has met with mixed success. There seems to be no pattern as to when
  27. the program works and when it doesn't. I am still searching for the solution to
  28. this very difficult problem. This version and v4.00 which preceeded it by only a
  29. few weeks are attempts to perform the same function with a different algorithm.
  30. Version 3.00, 4.00 and 5.00 are not replacements or upgrades of each other but
  31. just alternative implementations.
  32.  
  33.     Have you ever wanted to get some data from your screen into a program?
  34. Have you ever wanted to grab onto some printer data and put it into a disk file
  35. but the program you are using does not have that as a option? Well here is the
  36. answer to your problem. This program will grab onto anything sent out of a line
  37. printer port as long as the program uses the standard BIOS INT 17h call or the
  38. standard DOS 21h with AH=5 call. This version works with 123 but does work
  39. with Shift-PrtSc or Ctrl-PrtSc. It does not work with DBASEII.
  40.  
  41.     This program intercepts the BIOS interrupt 17h, the line printer
  42. interrupt and DOS interrupt 21h when AH=5. It will redirect the output of LPT1,
  43. LPT2, or LPT3 to a disk file. All three redirections may be active at the same
  44. time.
  45.  
  46.     Look at the Assembly Language Source which you should have received with
  47. this documentation file. If you would like the other versions of LPTx, I will be
  48. happy to send them to you. Just send me a formatted 360K DSDD floppy (no DOS on
  49. diskette) along with a post-paid, self-addressed floppy mailer. I will send you
  50. all current versions that are active.
  51.  
  52.     LPTx requires DOS 2.0 or later. It has not been tested on the new
  53. version 3.x of DOS.
  54.  
  55. Calling sequence:
  56. lptx -1 -o <d:[pathname]filename>
  57.  
  58. where -1 means redirect LPT1, -2 means redirect LPT2, -3 means redirect
  59.      LPT3
  60.      This option must appear first
  61.  
  62.       -o means start the redirection to file specified. If redirection
  63.          is already in progress for the selected line printer,
  64.      the old file will be closed first.
  65.      (If you do not specify -o but you do specify a line printer,
  66.      LPTx will use either the last file name that you gave when
  67.      you loaded LPTx or will use the file named LPTXy.LST which it
  68.      will create in the root directory on the default drive - where
  69.      y is 1, 2, or 3.)
  70.  
  71.      It is not necessary that you specify the complete path name
  72.      for the file. LPTx will create the file in the default 
  73.      directory if you don't specify a directory. LPTx will always
  74.      be able to find the file because it saves the complete path.
  75.  
  76.     -c means close the file and send all further output directly to the
  77.      line printer.
  78.  
  79. If neither option is specified, LPTx just displays the program status.
  80.  
  81. note: -1, -2, and -3 are mutually exclusive
  82.       -o and -c are mutually exclusive
  83.  
  84. examples:
  85.  
  86. lptx                Displays the program status
  87.  
  88. lptx ?                Displays a HELP screen
  89.  
  90. lptx -1                redirects LPT1 output to file named
  91.                 LPTX1.LST in the root directory
  92.                 on the default drive or the last
  93.                 named file.
  94.  
  95. lptx -o a:\able.xxx        redirects LPT1 output to file named
  96.     or            a:\able.xxx. Any open redirection
  97. lptx a:\able.xxx        disk file for LPT1 is closed.
  98.  
  99. lptx -2 b:xx.lst        redirects LPT2 output to file named
  100.                 XX.LST in the default directory
  101.                 on drive B:. Any open redirection
  102.                 disk file for LPT2 is closed.
  103.  
  104. lptx -3 d:\ab\cd\file.lst    redirects LPT3 output to the file named
  105.                 file.lst in the directory ab\cd on drive
  106.                 d:.
  107.  
  108. lptx -c                closes any disk files open for LPT1 and sends
  109.     or            the output back to the line printer
  110. lptx -1 -c            If no redirection is taking place to LPT1,
  111.                 this is    a NOP. LPT2 and LPT3 are not
  112.                 affected.
  113.  
  114. lptx -2 -c            closes any disk file open for LPT2 and
  115.                 sends the output back to line printer.
  116.                 if no redirection is taking place to LPT2,
  117.                 this is a NOP. LPT1 and LPT3 are not
  118.                 affected.
  119.  
  120.     By redirecting LPT2 or LPT3 to a disk file, you can in effect have 2 or
  121. 3 printers on your system. LPT1 can be your physical printer and you can have
  122. LPT2 output going to disk. When you redirect LPT2 or LPT3, LPT1 works normally.
  123.  
  124.     If you are redirecting to a diskette file, do not remove the diskette
  125. once the redirection starts. I recommend redirecting to a hard disk or a RAM
  126. disk.
  127.  
  128.     If LPTx encounters any kind of error during the redirection, it
  129. terminates operation and sends output back to the line printer. It does not
  130. display anything but beeps the speaker four times. This prevents your currently
  131. running program from possibly getting destroyed. An error with LPT1 redirection
  132. does not shut down LPT2 or LPT3 redirection.
  133.  
  134.     LPTx captures the int 17h interrupt vector. Problems may occur with
  135. print spoolers which also take over the int 17h  vector. You can be sure that
  136. LPTx works correctly by running LPTx after you have run your print spooler. LPTx
  137. will be transparent to the print spooler but your print spooler may not be
  138. transparent to LPTx. LPTx works fine with IBM's PRINT command.
  139.  
  140.     LPTx also captures the int 24h critical error interrupt vector. This is
  141. done only for the period that LPTx is using the disk. This prevents the
  142. generation of funny error messages in the middle of other programs that you may
  143. be running. (LPTx just beeps 4 times and clears itself out of way if a disk
  144. error occurs).
  145.  
  146.     This version of LPTx can redirect all three printers to three different
  147. files with all 3 active at the same time.
  148.  
  149.     LPTx uses about 7K of memory for the resident data buffers and interrupt
  150. handler.
  151.  
  152.     If you modify or find any bugs in this program, I would appreciate it if
  153. you would drop me a line with the changes. Use the address above. 
  154.